Many software applications operate on a computing system. Typically a computing system includes a processor and a display device. The software application operates on or is executed by the processor. Many software applications have a graphical user interface that is displayed on the display device. Typically, a graphical user interface allows a user to obtain information from and provide control inputs to the software application. For example, many graphical user interfaces include control inputs. For example, control inputs may include text fields, buttons, dials and other elements that a user may operate using a computer mouse or other input device. A graphical user interface may also include data outputs that provide information to the user.
Other software applications may have a graphical user interface that only provides graphic data outputs for use by a user but may not provide graphic input fields. A user may be required to provide text inputs or other inputs (such as inputs from an external control pad or remote device) to provide inputs to the software applications.
In general, software applications having a graphical user interface allow a user to control a component. In some cases, the component may be part of the software application itself. For example, some software applications that have graphical user interfaces may be generally independent applications that provide a service or utility to a user. For example, a word processing or graphics application may be an independent application that is used to create text documents without interacting with other software applications. The graphical user interface may be used to manipulate a document component or a graphic component within the application.
Some software applications that provide a graphical user interface may allow control of a component that is not within the software application. For example, media control application may allow control of an external component such as a software based sound processor or display setting that changes the aspect ratio, color scheme or another aspect of a display.
Some software applications that provide a graphical user interface may provide control of a hardware component coupled to a computing system in which the software application is operating. For example, a graphical user interface may be used to control a peripheral component such as a graphics card, settings of a display monitor, a music reproduction or processing system coupled to the computing system through a wired or wireless coupling or any other type of controllable peripheral component.
In many case, the graphical user interface provided with a software application cannot practically be used with a variety of input technologies. For example, the graphical user interface of many software applications is not practically usable with a touchscreen interface, which may be desirable for users having a computing system with a touchscreen display device. The graphical user interface of some applications cannot practically be used solely with a keyboard, which may be desirable for users who cannot easily use a mouse or who prefer to use only a keyboard for input. It is desirable to provide a user interface system and method that allows a user to control an application or to control components controlled by an application using alternate input controls rather than the control inputs provided with the native user interface of a software application.
In some situations, a user may wish to use an alternate input controls to provide inputs to control a software application or to control a component controlled by the software application. At the same time, the user may wish to view data outputs from the software application. It is desirable to provide alternate input controls that may be used in conjunction with the data output of the software application.